

using SqlSugar;

namespace ReportDesignerServer.DataModel
{
    /// <summary>
    /// 菜单实体
    /// </summary>

    [SugarTable("sys_menu")]
    public class Menu
    {
        /// <summary>
        /// 菜单ID
        /// </summary>
        /// 
        [SugarColumn(IsPrimaryKey = true)]
        public long id{ get; set; }
        /// <summary>
        /// 父菜单ID
        /// </summary>
        /// 
        [SugarColumn(IsNullable = true)]
        public long? parentId{ get; set; }
        /// <summary>
        /// 菜单名称
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? name{ get; set; }


        /// <summary>
        /// 菜单类型(1-菜单；2-目录；3-外链；4-按钮权限)
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public int? type{ get; set; }
        /// <summary>
        /// 路由名称（Vue Router 中定义的路由名称）
        /// </summary>
        /// 
        [SugarColumn(IsNullable = true)]
        public string? routeName{ get; set; }
        /// <summary>
        /// 路由路径（Vue Router 中定义的 URL 路径）
        /// </summary>
        /// 
        [SugarColumn(IsNullable = true)]
        public string? routePath{ get; set; }
        /// <summary>
        /// 组件路径(vue页面完整路径，省略.vue后缀)
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? component{ get; set; }
        /// <summary>
        /// 权限标识
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? perm{ get; set; }
        /// <summary>
        /// 显示状态(1:显示{ get; set; }0:隐藏)
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public int? visible{ get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        /// 


        [SugarColumn(IsNullable = true)]
        public int? sort{ get; set; }
        /// <summary>
        /// 菜单图标
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? icon{ get; set; }
        /// <summary>
        /// 跳转路径
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? redirect{ get; set; }
        /// <summary>
        /// 父节点路径，以英文逗号(,)分割
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public string? treePath{ get; set; }
        /// <summary>
        /// 【菜单】是否开启页面缓存(1:开启{ get; set; }0:关闭)
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public int? keepAlive{ get; set; }

        /// <summary>
        /// 【目录】只有一个子路由是否始终显示(1:是 0:否)
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public int? alwaysShow{ get; set; }

        /// <summary>
        /// 路由参数
        /// </summary>
        /// 
        [SugarColumn(IsNullable = true)]
        public string? param{ get; set; }

        [SugarColumn(IsNullable = true)]

        public DateTime? createTime{ get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        /// 

        [SugarColumn(IsNullable = true)]
        public DateTime? updateTime{ get; set; }
    }
}